home *** CD-ROM | disk | FTP | other *** search
- /*
- ListTools.c
-
- a bunch of AEList utilities
-
- © 1993 Steve Zellers, All rights Reserved
-
- <revision history>
- 05/27/93 smz created
- */
-
- #include "ListTools.h"
- #include "Exceptions.h"
-
- void PutSelectionList(AppleEvent* reply, long selStart, long selEnd)
- {
- AEDesc selList;
- OSErr err;
-
- err = AECreateList(nil, 0, false, &selList);
- FailErr(err);
-
- try {
- err = AEPutPtr(&selList, 0, typeLongInteger, (void*) &selStart, sizeof(selStart));
- FailErr(err);
-
- err = AEPutPtr(&selList, 0, typeLongInteger, (void*) &selEnd, sizeof(selEnd));
- FailErr(err);
-
- err = AEPutParamDesc(reply, keyDirectObject, &selList);
- AEDisposeDesc(&selList);
- } catch {
- AEDisposeDesc(&selList);
- throw(theException);
- }
-
- }
-
- void MakeMarkerList(PUFMarker* marker, AEDesc* oneMarkerList)
- {
- OSErr err;
-
- err = AECreateList(nil, 0, false, oneMarkerList);
- FailErr(err);
-
- try {
- err = AEPutPtr(oneMarkerList, 0, typeChar, (void*) &marker->name[1], marker->name[0]);
- FailErr(err);
-
- err = AEPutPtr(oneMarkerList, 0, typeLongInteger, (void*) &marker->selStart, sizeof(marker->selStart));
- FailErr(err);
-
- err = AEPutPtr(oneMarkerList, 0, typeLongInteger, (void*) &marker->selEnd, sizeof(marker->selEnd));
- FailErr(err);
- } catch {
- AEDisposeDesc(oneMarkerList);
- throw(theException);
- }
- }
-
- void PushMarker(PUFMarker* marker, AEDesc* markerList)
- {
- AEDesc oneMarkerList;
- OSErr err;
-
- MakeMarkerList(marker, &oneMarkerList);
-
- err = AEPutDesc(markerList, 0, &oneMarkerList);
- AEDisposeDesc(&oneMarkerList);
- FailErr(err);
- }
-
-